package net.hn.hnms.biz.dust.domain;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.persistence.*;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.Objects;

/**
 * 智呈物联 pan'sx
 * 2022/10/19 16:14
 * 1.0 version
 */
@Entity
@Table(name = "dwd_fcfz_base_sensorinfo", schema = "fcfz", catalog = "huaneng-safety")
@ApiModel("测点信息")
public class DwdFcfzBaseSensorinfoEntity {

    private String mineCode;
    @Id
    @ApiModelProperty("测点编码")
    private String pointCode;
    @ApiModelProperty("测点名称")
    private String pointName;
    private String deviceType;
    private String pointTypeCode;
    private String pointTypeName;
    private String valueUnit;
    private String pointValueType;
    private String openDesc;
    private String stopDesc;
    private String pointMonitorLocation;
    private String workfaceCode;
    private String systemName;
    private String remark;
    private BigDecimal xCoordinate;
    private BigDecimal yCoordinate;
    private BigDecimal zCoordinate;
    private Timestamp uploadTime;
    private String dataFlag;
    private Timestamp createTime;
    private Timestamp updateTime;
    private Timestamp deleteTime;

    @Basic
    @Column(name = "mine_code")
    public String getMineCode() {
        return mineCode;
    }

    public void setMineCode(String mineCode) {
        this.mineCode = mineCode;
    }

    @Basic
    @Column(name = "point_code")
    public String getPointCode() {
        return pointCode;
    }

    public void setPointCode(String pointCode) {
        this.pointCode = pointCode;
    }

    @Basic
    @Column(name = "point_name")
    public String getPointName() {
        return pointName;
    }

    public void setPointName(String pointName) {
        this.pointName = pointName;
    }

    @Basic
    @Column(name = "device_type")
    public String getDeviceType() {
        return deviceType;
    }

    public void setDeviceType(String deviceType) {
        this.deviceType = deviceType;
    }

    @Basic
    @Column(name = "point_type_code")
    public String getPointTypeCode() {
        return pointTypeCode;
    }

    public void setPointTypeCode(String pointTypeCode) {
        this.pointTypeCode = pointTypeCode;
    }

    @Basic
    @Column(name = "point_type_name")
    public String getPointTypeName() {
        return pointTypeName;
    }

    public void setPointTypeName(String pointTypeName) {
        this.pointTypeName = pointTypeName;
    }

    @Basic
    @Column(name = "value_unit")
    public String getValueUnit() {
        return valueUnit;
    }

    public void setValueUnit(String valueUnit) {
        this.valueUnit = valueUnit;
    }

    @Basic
    @Column(name = "point_value_type")
    public String getPointValueType() {
        return pointValueType;
    }

    public void setPointValueType(String pointValueType) {
        this.pointValueType = pointValueType;
    }

    @Basic
    @Column(name = "open_desc")
    public String getOpenDesc() {
        return openDesc;
    }

    public void setOpenDesc(String openDesc) {
        this.openDesc = openDesc;
    }

    @Basic
    @Column(name = "stop_desc")
    public String getStopDesc() {
        return stopDesc;
    }

    public void setStopDesc(String stopDesc) {
        this.stopDesc = stopDesc;
    }

    @Basic
    @Column(name = "point_monitor_location")
    public String getPointMonitorLocation() {
        return pointMonitorLocation;
    }

    public void setPointMonitorLocation(String pointMonitorLocation) {
        this.pointMonitorLocation = pointMonitorLocation;
    }

    @Basic
    @Column(name = "workface_code")
    public String getWorkfaceCode() {
        return workfaceCode;
    }

    public void setWorkfaceCode(String workfaceCode) {
        this.workfaceCode = workfaceCode;
    }

    @Basic
    @Column(name = "system_name")
    public String getSystemName() {
        return systemName;
    }

    public void setSystemName(String systemName) {
        this.systemName = systemName;
    }

    @Basic
    @Column(name = "remark")
    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Basic
    @Column(name = "x_coordinate")
    public BigDecimal getxCoordinate() {
        return xCoordinate;
    }

    public void setxCoordinate(BigDecimal xCoordinate) {
        this.xCoordinate = xCoordinate;
    }

    @Basic
    @Column(name = "y_coordinate")
    public BigDecimal getyCoordinate() {
        return yCoordinate;
    }

    public void setyCoordinate(BigDecimal yCoordinate) {
        this.yCoordinate = yCoordinate;
    }

    @Basic
    @Column(name = "z_coordinate")
    public BigDecimal getzCoordinate() {
        return zCoordinate;
    }

    public void setzCoordinate(BigDecimal zCoordinate) {
        this.zCoordinate = zCoordinate;
    }

    @Basic
    @Column(name = "upload_time")
    public Timestamp getUploadTime() {
        return uploadTime;
    }

    public void setUploadTime(Timestamp uploadTime) {
        this.uploadTime = uploadTime;
    }

    @Basic
    @Column(name = "data_flag")
    public String getDataFlag() {
        return dataFlag;
    }

    public void setDataFlag(String dataFlag) {
        this.dataFlag = dataFlag;
    }

    @Basic
    @Column(name = "create_time")
    public Timestamp getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Timestamp createTime) {
        this.createTime = createTime;
    }

    @Basic
    @Column(name = "update_time")
    public Timestamp getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Timestamp updateTime) {
        this.updateTime = updateTime;
    }

    @Basic
    @Column(name = "delete_time")
    public Timestamp getDeleteTime() {
        return deleteTime;
    }

    public void setDeleteTime(Timestamp deleteTime) {
        this.deleteTime = deleteTime;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        DwdFcfzBaseSensorinfoEntity that = (DwdFcfzBaseSensorinfoEntity) o;
        return Objects.equals(mineCode, that.mineCode) &&
                Objects.equals(pointCode, that.pointCode) &&
                Objects.equals(pointName, that.pointName) &&
                Objects.equals(deviceType, that.deviceType) &&
                Objects.equals(pointTypeCode, that.pointTypeCode) &&
                Objects.equals(pointTypeName, that.pointTypeName) &&
                Objects.equals(valueUnit, that.valueUnit) &&
                Objects.equals(pointValueType, that.pointValueType) &&
                Objects.equals(openDesc, that.openDesc) &&
                Objects.equals(stopDesc, that.stopDesc) &&
                Objects.equals(pointMonitorLocation, that.pointMonitorLocation) &&
                Objects.equals(workfaceCode, that.workfaceCode) &&
                Objects.equals(systemName, that.systemName) &&
                Objects.equals(remark, that.remark) &&
                Objects.equals(xCoordinate, that.xCoordinate) &&
                Objects.equals(yCoordinate, that.yCoordinate) &&
                Objects.equals(zCoordinate, that.zCoordinate) &&
                Objects.equals(uploadTime, that.uploadTime) &&
                Objects.equals(dataFlag, that.dataFlag) &&
                Objects.equals(createTime, that.createTime) &&
                Objects.equals(updateTime, that.updateTime) &&
                Objects.equals(deleteTime, that.deleteTime);
    }

    @Override
    public int hashCode() {
        return Objects.hash(mineCode, pointCode, pointName, deviceType, pointTypeCode, pointTypeName, valueUnit, pointValueType, openDesc, stopDesc, pointMonitorLocation, workfaceCode, systemName, remark, xCoordinate, yCoordinate, zCoordinate, uploadTime, dataFlag, createTime, updateTime, deleteTime);
    }
}
